<template>
    <div class="content">
        <div v-for="(item, index) in newDateList" :key="index"  @click="optionmap(item)">
            <van-row>
                <van-col span="24" class="list-item">
                    <van-col span="2" class="list-item-left">
                        <van-tag round>{{index+1}}</van-tag>
                    </van-col>
                    <van-col span="22">
                        <van-col span="24">{{item.name}}</van-col>
                        <van-col span="24" class="label">
                            <van-col span="17">
                                <van-tag type="danger" v-if="item.tag1 === 1">医疗救治定点医院</van-tag>
                                <van-tag type="primary"  v-if="item.tag2 === 1">发热门诊</van-tag>
                            </van-col>
                            <van-col span="5">
                                {{item.distance}}
                            </van-col>
                            <van-col span="2" class="location">
                                <van-icon name="location-o" />
                            </van-col>
                        </van-col>
                        <van-col span="24">{{item.address}}</van-col>
                    </van-col>
                </van-col>
            </van-row>
            <van-divider />
        </div>
    </div>
</template>
<script>
export default {
  name: 'index',
  data () {
    return {
      dataList: [
        {
          name: '中国医科大学附属盛京医院',
          tag1: 1,
          tag2: 1,
          address: '辽宁省沈阳市和平区三好街36号',
          lat: 41.773700,
          lng: 123.427840
        },
        {
          name: '中国医科大学附属第一医院',
          tag1: 1,
          tag2: 1,
          address: '辽宁省沈阳市和平区南京北街155号',
          lat: 41.795110,
          lng: 123.409440
        },
        {
          name: '辽宁省人民医院',
          tag1: 1,
          tag2: 1,
          address: '辽宁省沈阳市沈河区文艺路33号',
          lat: 41.776088,
          lng: 123.453300
        },
        {
          name: '辽宁中医药大学附属医院',
          tag1: 1,
          tag2: 1,
          address: '辽宁省沈阳市皇姑区北陵大街33号',
          lat: 41.832090,
          lng: 123.429850
        },
        {
          name: '中国医科大学附属第四医院',
          tag1: 1,
          tag2: 1,
          address: '辽宁省沈阳市皇姑区崇山东路4号',
          lat: 41.834363,
          lng: 123.462377
        },
        {
          name: '沈阳市传染病医院',
          tag1: 1,
          tag2: 0,
          address: '辽宁省沈阳市和平区和平南大街85号',
          lat: 41.772396,
          lng: 123.401681
        },
        {
          name: '沈阳市第六人民医院',
          tag1: 0,
          tag2: 1,
          address: '辽宁省沈阳市和平区和平南大街85号',
          lat: 41.772396,
          lng: 123.401681
        },
        {
          name: '沈阳七三九医院',
          tag1: 0,
          tag2: 1,
          address: '辽宁省沈阳市皇姑区黄河北大街121号',
          lat: 41.886738,
          lng: 123.416285
        },
        {
          name: '沈阳二四二医院',
          tag1: 0,
          tag2: 1,
          address: '辽宁省沈阳市皇姑区乐山路3号',
          lat: 41.865517,
          lng: 123.422527
        },
        {
          name: '沈阳二四五医院',
          tag1: 0,
          tag2: 1,
          address: '辽宁省沈阳市大东区长安路75号',
          lat: 41.796224,
          lng: 123.494285
        },
        {
          name: '沈阳维康医院',
          tag1: 0,
          tag2: 1,
          address: '辽宁省沈阳市铁西区兴华北街38号',
          lat: 41.799318,
          lng: 123.373225
        },
        {
          name: '浑南区中心医院',
          tag1: 0,
          tag2: 1,
          address: '辽宁省沈阳市沈河区泉园二路87号',
          lat: 41.774367,
          lng: 123.478643
        },
        {
          name: '皇姑区中心医院',
          tag1: 0,
          tag2: 1,
          address: '辽宁省沈阳市皇姑区昆山中路南侧10米',
          lat: 41.821802,
          lng: 123.401165
        },
        {
          name: '铁西区中心医院',
          tag1: 0,
          tag2: 1,
          address: '辽宁省沈阳市铁西区云峰南街5号',
          lat: 41.788125,
          lng: 123.372914
        },
        {
          name: '中国医大一院大东分院',
          tag1: 0,
          tag2: 1,
          address: '辽宁省沈阳市大东区天后宫路120号',
          lat: 41.811820,
          lng: 123.456240
        },
        {
          name: '沈阳市第十人民医院',
          tag1: 0,
          tag2: 1,
          address: '辽宁省沈阳市大东区北海街11号',
          lat: 41.830776,
          lng: 123.472642
        },
        {
          name: '第四人民医院',
          tag1: 0,
          tag2: 1,
          address: '辽宁省沈阳市皇姑区黄河南大街20号',
          lat: 41.820056,
          lng: 123.419825
        },
        {
          name: '沈阳医学院附属中心医院',
          tag1: 0,
          tag2: 1,
          address: '辽宁省沈阳市铁西区南七西路5号',
          lat: 41.798416,
          lng: 123.341368
        },
        {
          name: '沈阳盛京雍森医院',
          tag1: 0,
          tag2: 1,
          address: '辽宁省沈阳市于洪区沈北西路',
          lat: 41.915623,
          lng: 123.356972
        },
        {
          name: '沈阳德济医院',
          tag1: 0,
          tag2: 1,
          address: '辽宁省沈阳市大东区滂江街54号',
          lat: 41.799940,
          lng: 123.485580
        },
        {
          name: '苏家屯区中心医院',
          tag1: 0,
          tag2: 1,
          address: '辽宁省沈阳市苏家屯区海棠街31号',
          lat: 41.663926,
          lng: 123.346604
        },
        {
          name: '新民市人民医院',
          tag1: 0,
          tag2: 1,
          address: '辽宁省沈阳市新民市康复街20号',
          lat: 41.996587,
          lng: 122.821826
        }
      ],
      local_latitude: 41.789928,
      local_longitude: 123.410782,
      newDateList: []
    }
  },
  methods: {
    getLocation () {
      // let isSuccess = false// 获取位置成功还是失败
      let longitude = ''
      let latitude = ''
      let _this = this
      // if (!isSuccess) {
      this.$common.getLocation(function (option) {
        if (option.errMsg === 'getLocation:ok') {
          console.log(option)
          longitude = option.longitude
          latitude = option.latitude
          console.log(longitude, '经度')
          console.log(latitude, '纬度')
          _this.init(longitude, latitude)
        } else {
          this.$dialog.alert({
            message: '获取位置失败 默认位置沈阳站'
          }).then(() => {
            longitude = 123.393368
            latitude = 41.794601
            _this.init(longitude, latitude)
          })
        }
      })
      //   isSuccess = true
      // }
      // setTimeout(function () {
      //   if (!isSuccess) {
      //     // 获取位置失败,手动设置
      //     Dialog.alert({
      //       message: '获取位置失败默认地址沈阳站'
      //     }).then(() => {
      //       this.local_longitude = 123.410782
      //       this.local_latitude = 41.789928
      //     })
      //   }
      // }, 6000)
    },
    optionmap (item) {
      console.log(item)
      this.$common.openLocation({
        latitude: parseFloat(item.lat), // 纬度，浮点数，范围为90 ~ -90
        longitude: parseFloat(item.lng), // 经度，浮点数，范围为180 ~ -180。
        name: item.name, // 位置名
        address: item.address // 地址详情说明
      })
    },

    init (newlongitude, newlatitude) {
      let _this = this
      console.log(this.dataList, '1111')
      setTimeout(function () {
        console.log(_this.dataList, '2222')
        // return的距离单位为km
        for (let i = 0; i < _this.dataList.length; i++) {
          // let radLat1 = parseFloat(latitude) * Math.PI / 180.0
          // let radLat2 = _this.dataList[i].lat * Math.PI / 180.0
          // let a = radLat1 - radLat2
          // let b = parseFloat(latitude) * Math.PI / 180.0 - _this.dataList[i].lng * Math.PI / 180.0

          let radLat1 = newlatitude * Math.PI / 180.0
          let radLat2 = _this.dataList[i].lat * Math.PI / 180.0
          let a = radLat1 - radLat2
          let b = newlongitude * Math.PI / 180.0 - _this.dataList[i].lng * Math.PI / 180.0
          let s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) +
                    Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)))
          s = s * 6378.137// EARTH_RADIUS;
          // s = Math.round(s * 10000) / 10000
          // s = s.toFixed(2)
          _this.newDateList.push({
            distance: s,
            name: _this.dataList[i].name,
            tag1: _this.dataList[i].tag1,
            tag2: _this.dataList[i].tag2,
            address: _this.dataList[i].address,
            lat: _this.dataList[i].lat,
            lng: _this.dataList[i].lng
          })
        }
        _this.newDateList = _this.minSort(_this.newDateList)
        for (let i = 0; i < _this.newDateList.length; i++) {
          _this.newDateList[i].distance = (Math.round(_this.newDateList[i].distance * 10000) / 10000).toFixed(2)
          if (_this.newDateList[i].distance > 9) {
            _this.newDateList[i].distance = _this.newDateList[i].distance + 'km'
          } else {
            _this.newDateList[i].distance = _this.newDateList[i].distance * 1000 + 'm'
          }
        }
      }, 2000)
    },
    minSort (arr) {
      var min
      for (var i = 0; i < arr.length; i++) {
        for (var j = i; j < arr.length; j++) {
          if (arr[i].distance > arr[j].distance) {
            min = arr[j]
            arr[j] = arr[i]
            arr[i] = min
          }
        }
      }
      return arr
    }
  },

  mounted () {
    this.getLocation()
  }
}
</script>

<style scoped>
    .van-divider{
        margin: 0;
    }
    .label .van-tag{
        margin-right: 10px;
    }
    .label{
        margin-top: 10px;
    }
    .location{
        /*font-size: 24px;*/
        font-weight: bold;
        float: right;
        text-align: right;
        margin-bottom: 10px;
    }
    .location i{
        font-size: 14px;
    }
    .content{
        font-size: 12px;
    }
    .list-item{
        padding: 15px;
    }
    .content >>> .van-divider::after, .van-divider::before{
        border-width: 0.2rem 0 0;
    }
</style>
